package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 子公司信息表
* @DateTime: 2022/5/14
* @Params:
* @Return
*/
@TableName("t10_subsd_info")
public class SubsdInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 子公司信息编号
    */
    @TableId("sub_comp_info_no")
    private String subCompInfoNo;

    /**
    * 信息报送审核状态编码
    */
    private String infsubAuditStatusCode;

    /**
    * 所属地区编码
    */
    private String beltoRegiCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 子公司类型编码
    */
    private String subCompTypeCode;

    /**
    * 子公司全称
    */
    private String subbCompFn;

    /**
    * 子公司英文名
    */
    private String subCompEngName;

    /**
    * 营业许可证或批准文号
    */
    private String blaNmb;

    /**
    * 注册资本
    */
    private String regCptl;

    /**
    * 子公司成立日期
    */
    private String subCompSetupDate;

    /**
    * 子公司资格信息经营范围
    */
    private String subCompPrefRange;

    /**
     * 子公司资格信息经营范围
     */
    private String otherSubCompPrefRange;

    /**
     * 子公司资格信息其他
     */
    private String subCompPrefRangeOther;

    /**
    * 负责人名称
    */
    private String resperName;

    /**
    * 负责人资格批准文号
    */
    private String resperQlfyAprvNmb;

    /**
    * 负责人电话
    */
    private String resperTel;

    /**
    * 子公司详细信息
    */
    private String subCompDetailAddr;

    /**
    * 客户投诉电话
    */
    private String custCompltTel;

    /**
    * 子公司邮箱
    */
    private String subCompEml;

    /**
    * 备注
    */
    private String remark;

    /**
    * 信息添加时间
    */
    private String infoAddTime;

    /**
    * 子公司信息更新时间
    */
    private String subCompInfoUpdateTime;

    /**
    * 信息添加人编号
    */
    private String infoAddPsnNo;

    /**
    * 子公司信息更新人编号
    */
    private String subcmpInfoUpdatePsnNo;

    /**
    * 所在国家/地区
    */
    private String localCr;

    /**
    * 是否关闭状态
    */
    private String isCloseStatus;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    public SubsdInfo() {
    }

    public String getSubCompInfoNo() {
        return subCompInfoNo;
    }

    public void setSubCompInfoNo(String subCompInfoNo) {
        this.subCompInfoNo = subCompInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getSubCompPrefRangeOther() {
        return subCompPrefRangeOther;
    }

    public void setSubCompPrefRangeOther(String subCompPrefRangeOther) {
        this.subCompPrefRangeOther = subCompPrefRangeOther;
    }

    public String getBeltoRegiCode() {
        return beltoRegiCode;
    }

    public void setBeltoRegiCode(String beltoRegiCode) {
        this.beltoRegiCode = beltoRegiCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getSubCompTypeCode() {
        return subCompTypeCode;
    }

    public void setSubCompTypeCode(String subCompTypeCode) {
        this.subCompTypeCode = subCompTypeCode;
    }

    public String getSubbCompFn() {
        return subbCompFn;
    }

    public void setSubbCompFn(String subbCompFn) {
        this.subbCompFn = subbCompFn;
    }

    public String getSubCompEngName() {
        return subCompEngName;
    }

    public void setSubCompEngName(String subCompEngName) {
        this.subCompEngName = subCompEngName;
    }

    public String getOtherSubCompPrefRange() {
        return otherSubCompPrefRange;
    }

    public void setOtherSubCompPrefRange(String otherSubCompPrefRange) {
        this.otherSubCompPrefRange = otherSubCompPrefRange;
    }

    public String getBlaNmb() {
        return blaNmb;
    }

    public void setBlaNmb(String blaNmb) {
        this.blaNmb = blaNmb;
    }

    public String getRegCptl() {
        return regCptl;
    }

    public void setRegCptl(String regCptl) {
        this.regCptl = regCptl;
    }

    public String getSubCompSetupDate() {
        return subCompSetupDate;
    }

    public void setSubCompSetupDate(String subCompSetupDate) {
        this.subCompSetupDate = subCompSetupDate;
    }

    public String getSubCompPrefRange() {
        return subCompPrefRange;
    }

    public void setSubCompPrefRange(String subCompPrefRange) {
        this.subCompPrefRange = subCompPrefRange;
    }

    public String getResperName() {
        return resperName;
    }

    public void setResperName(String resperName) {
        this.resperName = resperName;
    }

    public String getResperQlfyAprvNmb() {
        return resperQlfyAprvNmb;
    }

    public void setResperQlfyAprvNmb(String resperQlfyAprvNmb) {
        this.resperQlfyAprvNmb = resperQlfyAprvNmb;
    }

    public String getResperTel() {
        return resperTel;
    }

    public void setResperTel(String resperTel) {
        this.resperTel = resperTel;
    }

    public String getSubCompDetailAddr() {
        return subCompDetailAddr;
    }

    public void setSubCompDetailAddr(String subCompDetailAddr) {
        this.subCompDetailAddr = subCompDetailAddr;
    }

    public String getCustCompltTel() {
        return custCompltTel;
    }

    public void setCustCompltTel(String custCompltTel) {
        this.custCompltTel = custCompltTel;
    }

    public String getSubCompEml() {
        return subCompEml;
    }

    public void setSubCompEml(String subCompEml) {
        this.subCompEml = subCompEml;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getInfoAddTime() {
        return infoAddTime;
    }

    public void setInfoAddTime(String infoAddTime) {
        this.infoAddTime = infoAddTime;
    }

    public String getSubCompInfoUpdateTime() {
        return subCompInfoUpdateTime;
    }

    public void setSubCompInfoUpdateTime(String subCompInfoUpdateTime) {
        this.subCompInfoUpdateTime = subCompInfoUpdateTime;
    }

    public String getInfoAddPsnNo() {
        return infoAddPsnNo;
    }

    public void setInfoAddPsnNo(String infoAddPsnNo) {
        this.infoAddPsnNo = infoAddPsnNo;
    }

    public String getSubcmpInfoUpdatePsnNo() {
        return subcmpInfoUpdatePsnNo;
    }

    public void setSubcmpInfoUpdatePsnNo(String subcmpInfoUpdatePsnNo) {
        this.subcmpInfoUpdatePsnNo = subcmpInfoUpdatePsnNo;
    }

    public String getLocalCr() {
        return localCr;
    }

    public void setLocalCr(String localCr) {
        this.localCr = localCr;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","subCompTypeCode","beltoRegiCode","isCloseStatus","subCompPrefRange","subCompPrefRangeOther","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0169","DG0060","DG0104","DG0444","DG0445","LIST"};
    }
}